package com.bluegalaxy.nhb.snservice.common.utils;

import java.text.DecimalFormat;
import java.text.NumberFormat;

/**
 * Created by IntelliJ IDEA.
 *
 * @author:
 * @date: 2018/4/7
 * @time: 23:53
 * @description: 字符串工具类
 * To change this template use File | Settings | File Templates.
 */
public class StringUtil {

    public static int nullToNumber(String str, int defalut) {
        if (isEmpty(str)) {
            return defalut;
        }
        return Integer.parseInt(str);
    }

    //百分比符号
    public static final String  SYMBOL="%";

    /**
     * 是否为空
     * @param str
     * @return
     */
    public static boolean isEmpty(String str) {
        return str == null || "".equals(str.trim());
    }

    /**
     * 是否不为空
     * @param str
     * @return
     */
    public static boolean isNotEmpty(String str) {
        return str != null && !"".equals(str);
    }

    /**
     * 如果Object是null的话，则返回“”，否则直接返回
     * @param o 需要转化成字符串的对象
     * @Author Juanfei
     * @return
     */
    public static String valueOf(Object o){
        if(o==null){
            return "";
        }else{
            return String.valueOf(o);
        }
    }

    /**
     * 如果Object是null的话，则返回“”，否则直接返回
     *
     * @param o 需要转化成Integer对象
     * @return
     * @Author Juanfei
     */
    public static Integer obj2Integer(Object o) {
        return StringUtil.valueOf(o) == "" ? null : Integer.parseInt(StringUtil.valueOf(o));
    }

    //求同比，环比
    public static int getObjDivision(int a,int b){
       int d=0;
        if(a>0&&b>0){
            d=(Math.round(a-b)/b*100);
//           if(a<b){
//               d=(Math.round(b-a)/b*100);
//           }
        }
        return  d;
    }

    //求同比，环比增加还是减少，页面标识颜色用
    public static Boolean showcolour(int a,int b){
       if(a>b){
           return  true;
       }else {
           return  false;
       }
    }

    //非空处理
    public static String  StringNull(String n){
        if("".equals(n)||null==n||"null".equals(n)){
            n="";
        }
        return n;
    }

    //求百分比&求余
    //s=1 求除
    //s=0 求百分比
    public static  String numberFormat(int s,String num1 ,String num2 ){
        String result="0";
        if(!"0".equals(num2)){
            NumberFormat numberFormat = NumberFormat.getInstance();
            numberFormat.setMaximumFractionDigits(2);
            if(s==1) {
                result = numberFormat.format((Double.valueOf(num1) / (Double.valueOf(num2))));
            }else{
                result = numberFormat.format((Double.valueOf(num1) / (Double.valueOf(num2)))* 100);
            }

        }
        return  result;
    }

    //将String转换为Double并保留2位小数
    public static String coinToYuan(String coin) {
        if("nan".equals(coin))coin="0";
        Double dd = Double.parseDouble(coin);
//        Double ddd = dd / 100;
        if (dd % 100 == 0) {
            int num = dd.intValue();
            return String.valueOf(num);
        } else {
            DecimalFormat df = new DecimalFormat("0.00");
//            System.out.println(df.format(dd));
            return String.valueOf(df.format(dd));
        }
    }

    public static boolean isNotEmpty(StringBuilder sb){
        if(sb!=null && sb.length()>0){
            return true;
        }
        return false;
    }


}
